home *** CD-ROM | disk | FTP | other *** search
- #include <windows.h>
- #include <stdio.h>
- #include "abc.h"
-
- void GenerateCode(HWND);
- BOOL CALLBACK KeygenDialogProcedure(HWND, UINT, WPARAM, LPARAM);
- int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int);
-
- unsigned char myname[]="ACiD BuRN [ID]";
- unsigned char prog_name[200]="ID Crackme 8 *keygen*";
- HINSTANCE hInstance2;
-
- void GenerateCode(HWND hDlg){
- HWND hwndName, hwndCode;
-
- unsigned char name[101]={0},code_string[100]={0};
- int i,len;
-
- unsigned long check=0;
-
- hwndName=GetDlgItem(hDlg,IDC_NAMEEDIT);
- SendMessage(hwndName,EM_SETLIMITTEXT,100,0);
- GetWindowText(hwndName,name,sizeof(name));
-
- hwndCode=GetDlgItem(hDlg,IDC_SERIALEDIT);
-
- len=strlen(name);
-
- if(len==0){
- SetWindowText(hwndCode,"Enter Your Name....");
- return;
- }
-
- if(i>=1){
- asm
- {
-
- xor ecx, ecx
- xor edx, edx
- xor eax, eax
- xor edi, edi
-
- start:
- mov ecx , [len]
- dec ecx
- movsx eax, [name+ecx]
- imul eax, 13
- add eax, 161
- imul eax, eax
- imul eax, 154
- mov [check], eax
-
- }
-
-
- sprintf(code_string,"%lu",check);
-
- SetWindowText(hwndCode,code_string);
- }
-
- else{
- SetWindowText(hwndCode,"Name must be at least 3 chars long");
- }
- }
-
- BOOL CALLBACK KeygenDialogProcedure(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam){
-
- switch(uMsg){
-
- case WM_SHOWWINDOW:
-
- SetWindowText(hDlg,prog_name);
- SetWindowText(GetDlgItem(hDlg,IDC_NAMEEDIT),myname);
- SendMessage(GetDlgItem(hDlg,IDC_NAMEEDIT),EM_SETSEL,0,-1);
- SetFocus(GetDlgItem(hDlg,IDC_NAMEEDIT));
- GenerateCode(hDlg);
- break;
-
- case WM_CLOSE:
- EndDialog(hDlg,1);
- return 1;
-
- case WM_COMMAND:
- switch(LOWORD(wParam)){
- case IDC_NAMEEDIT:
- if(HIWORD(wParam)==EN_UPDATE){
- GenerateCode(hDlg);
- break;
- }
- break;
-
- }
- break;
-
- default:
- return FALSE;
- }
- return TRUE;
- }
-
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow){
-
- hInstance2=hInstance;
- DialogBox(hInstance,MAKEINTRESOURCE(DIALOG_1),NULL,(DLGPROC)KeygenDialogProcedure);
- return FALSE;
- }
-